﻿using CCWin;
using System;
using System.Windows.Forms;
using 群智感知激励系统服务端底层;

namespace 群智感知激励系统服务端
{
    public partial class 用户日志窗口 : CCSkinMain
    {
        private 用户 用户;
        private int id = 1;

        public 用户日志窗口(用户 _用户)
        {
            InitializeComponent();
            用户 = _用户;
            Text = "用户：" + 用户.临时id;
        }

        private void 用户日志窗口_Load(object sender, EventArgs e)
        {
            try
            {
                skinListView1.Items.Clear();
                lock (用户.操作日志)
                {
                    foreach (用户操作 i in 用户.操作日志)
                    {
                        ListViewItem lvi = new ListViewItem();
                        lvi.Text = id.ToString();
                        lvi.SubItems.Add(i.操作信息);
                        lvi.SubItems.Add(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));
                        skinListView1.Items.Add(lvi);
                        id++;
                    }
                }
            }
            catch { }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                lock (用户.操作日志)
                {
                    if (skinListView1.Items.Count == 0)
                    {
                        skinListView1.BeginUpdate();
                        foreach (用户操作 i in 用户.操作日志)
                        {
                            ListViewItem lvi = new ListViewItem();
                            lvi.Text = id.ToString();
                            lvi.SubItems.Add(i.操作信息);
                            lvi.SubItems.Add(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));
                            skinListView1.Items.Add(lvi);
                            id++;
                        }
                        skinListView1.EndUpdate();
                    }
                    int 记录差 = 用户.操作日志.Count - skinListView1.Items.Count;
                    if (记录差 > 0)
                    {
                        skinListView1.BeginUpdate();
                        for (int i = skinListView1.Items.Count; i < 用户.操作日志.Count; i++)
                        {
                            ListViewItem lvi = new ListViewItem();
                            lvi.Text = id.ToString();
                            lvi.SubItems.Add(用户.操作日志[i].操作信息);
                            lvi.SubItems.Add(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"));
                            skinListView1.Items.Add(lvi);
                            id++;
                        }
                        skinListView1.EndUpdate();
                    }
                }
            }
            catch { }
        }

        private void skinListView1_DoubleClick(object sender, EventArgs e)
        {
            用户操作 用户操作 = 用户.操作日志[skinListView1.SelectedItems[0].Index];
            if (用户操作 != null)
            {
                用户历史信息 f = new 用户历史信息(用户操作);
                f.Show();
            }
        }
    }
}